abstract class Button extends squareObject{
  Button(String id, float x, float y, float w, float h){
    super(id, w, h, x, y);
  }
}

class rectButton extends Button{
  String label = "";

  rectButton(String id, float x, float y, float w, float h, String s){
    super(id, w, h, x, y);
    if (!s.equals("")) label = s;
  }

  void display(){
    if (over()){ 
      displayOver(); 
      return;
    }
    pushStyle();
    stroke(255);
    fill(87,157,240);
    rect(x, y, w, h);
    float tW = textWidth(label);
    fill(0);
    textSize(h*0.8);
    if (g.rectMode == RADIUS || g.rectMode == CENTER) text(label, x - textWidth(label)/2, y + h/2);
    else text(label, x +w/2 - textWidth(label)/2, y + 0.8*h);
    popStyle();
  }
  
  void displayOver(){
    pushStyle();
    stroke(255, 255, 0);
    fill(0, 0, 255);
    rect(x, y, w, h);
    float tW = textWidth(label);
    fill(0);
    textSize(h*0.8);
    if (g.rectMode == RADIUS || g.rectMode == CENTER) text(label, x - textWidth(label)/2, y + h/2);
    else text(label, x +w/2 - textWidth(label)/2, y + 0.8*h);
    popStyle();
  }

  void setLabel(String s){label = s;}
}



public class Botao{

  PFont font; 
  color menuColor;
  color selecColor;
  color textColor;
  float x,y,trans,pisca,fontSize;
  boolean clicado;

  
  Botao(){
    font = loadFont("fontes//BradleyHandITC-48.vlw");
    fontSize=26;
    menuColor = color(255);
    selecColor = color(87,157,240);
    textColor=menuColor;
    trans = 255;
  }
  
  Botao(PFont font_, int s){
    font = font_;
    fontSize = s;
    menuColor = color(255);
    selecColor = color(87,157,240);
    textColor=menuColor;
    trans = 255;
 }
  
  
  
  void start(String texto, float x_, float y_){
    x=x_;
    y=y_;
    fill(textColor,trans);
    textFont(font, fontSize);
    text(texto,x,y);
  }
  
  void mouse(float xSize, float ySize){
    if(Math.abs(mouseX-x-xSize)<xSize &&Math.abs (mouseY-y+ySize)<ySize){
      textColor=selecColor;
    }
    else
      textColor=menuColor;
  }
  
  boolean mouseClick(){
    if(mousePressed && textColor == selecColor && clicado==false)
      clicado = true;
    
    if(clicado==true){
      trans=trans-20;
      if(trans<0){
        trans=255;
        pisca++;  
      }
    }
    if(pisca>2){
      clicado=false;
      pisca=0;
      return true;
    }
    else
      return false;  
  }
}
